﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using App_Persistencia;

namespace App_Negocio
{
    public class Insumo
    {
        int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        string nombre;

        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        float cantidad;

        public float Cantidad
        {
            get { return cantidad; }
            set { cantidad = value; }
        }
        Unidad_Medida unidad_Medida;

        public Unidad_Medida Unidad_Medida
        {
            get { return unidad_Medida; }
            set { unidad_Medida = value; }
        }

        string descripcion;

        public string Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; }
        }
        float precio;

        public float Precio
        {
            get { return precio; }
            set { precio = value; }
        }

        public DataView popularInsumo()
        {
            Insumo_Data insumo = new Insumo_Data();

            DataView dataView = insumo.popularInsumo();

            return dataView;
        }

        public static DataTable listarInsumosTabla()
        {
            DataTable dataTable = Insumo_Data.listarInsumos();
            return dataTable;
        }

        public static List<Insumo> listarInsumosLista()
        {
            List<Insumo> lista = new List<Insumo>();
            DataTable dataTable = Insumo.listarInsumosTabla();
            Insumo insumo = new Insumo();
            foreach (DataRow dr in dataTable.Rows)
            {
                insumo.Id = int.Parse(dr["Id"].ToString());
                insumo.Nombre = dr["Nombre"].ToString();
                lista.Add(insumo);
            }

            return lista;
        }


        public static DataTable listarInsumosTabla(DateTime hasta)
        {
            DataTable dataTable = Insumo_Data.listarInsumosNecesarios(hasta);
            return dataTable;
        }

        public void guardar()
        {
            Insumo_Data.guardarInsumo(nombre, cantidad, descripcion, precio, Unidad_Medida.UmData.Id);
        }

        public void update(int id)
        {
            Insumo_Data.updateInsumo(id, nombre, cantidad, descripcion, precio, Unidad_Medida.UmData.Id );
        }     

        public void eliminar(int id)
        {
            Insumo_Data.eliminarInsumo(id);
        }

        public static Boolean checkIDInsumo(string nom)
        {
            return Insumo_Data.checkIDInsumo(nom);
        }

        public int buscarID(string nom)
        {
            return Insumo_Data.buscarID(nom);
        }
    }
}
